#ifndef GPOOL_H
#define GPOOL_H

#include "gelement.h"
#include "dpool.h"

class GPool : public GElement
{
public:
	GPool(DPool * pDPool, QGraphicsItem * parent=0)
		: GElement(pDPool, parent) {}
	~GPool();

	//DPool* description() const { qobject_cast<DPool*>(keyDElement); }
	// Enable the use of qgraphicsitem_cast with this item.
	enum { Type = UserType + 3 };
	int type() const { return Type; }

	void removeLink(Link *arrow);
	QList<Link*> allLinks() const;
	void addLink(Link *arrow);

protected:
	/************************************************************************
	**	When item is changed, here, moved, this member function is called
	*************************************************************************/
	QVariant itemChange(GraphicsItemChange change, const QVariant &value);

private:
	QList<Link*> mLinks;
};

#endif // GPOOL_H
